package cn.iocoder.yudao.module.eval.dal.dataobject.template;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 评价模板主表 DO
 *
 * @author 芋道源码
 */
@TableName("eval_templates")
@KeySequence("eval_templates_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EvalTemplateDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    
    /**
     * 模板编码
     */
    private String templateCode;
    
    /**
     * 模板名称
     */
    private String templateName;
    
    /**
     * 评价方式类型ID，关联eval_method_types表
     */
    private Long methodTypeId;
    
    /**
     * 模板版本
     */
    private String templateVersion;
    
    /**
     * 模板内容，JSON格式
     */
    private String templateContent;
    
    /**
     * 适用职业
     */
    private String applicableProfession;

    /**
     * 适用等级
     */
    private String applicableLevel;

    /**
     * 适用行业
     */
    private String applicableIndustry;

    /**
     * 模板类型
     */
    private Integer templateType;

    /**
     * 总分
     */
    private Integer totalScore;

    /**
     * 合格分数
     */
    private Integer passScore;

    /**
     * 时间限制（分钟）
     */
    private Integer timeLimit;

    /**
     * 自定义字段配置，JSON格式
     */
    private String customFieldsConfig;
    
    /**
     * 模板状态：0-草稿，1-已发布，2-已停用
     */
    private Integer templateStatus;

    /**
     * 是否为默认模板
     */
    private Boolean isDefault;

    /**
     * 使用次数
     */
    private Integer usageCount;

    /**
     * 审核人ID
     */
    private Long reviewerId;

    /**
     * 审核时间
     */
    private java.time.LocalDateTime reviewTime;

    /**
     * 审核意见
     */
    private String reviewComments;

}
